import { IsString, IsNotEmpty, MinLength, MaxLength, IsOptional, IsArray, IsInt } from "class-validator";

/**
 * 角色创建参数DTO
 */
export class CreateRoleDto {
  @IsString({ message: "角色名称必须是字符串" })
  @IsNotEmpty({ message: "角色名称不能为空" })
  @MinLength(2, { message: "角色名称长度不能少于2个字符" })
  @MaxLength(50, { message: "角色名称长度不能超过50个字符" })
  name: string;

  // 可选的菜单ID数组（分配菜单）
  @IsOptional()
  @IsArray({ message: "菜单ID必须是数组" })
  @IsInt({ each: true, message: "菜单ID必须是整数" })
  menuIds?: number[];
}
